//  [9/16/2013 OMEGA] created

#ifndef _DUELDUALCOLUMNSELECTVIEW_H_
#define _DUELDUALCOLUMNSELECTVIEW_H_

#include <QtWidgets/QWidget>
#include <QtWidgets/QListWidgetItem>
#include "DuelAssENoFocusDelegate.h"
#include "ui_DuelAssEDualColumnList.h"

class DAssEDualColumnSelectView : public QWidget
{
	Q_OBJECT
public:
	DAssEDualColumnSelectView(QWidget* parent = 0);

	void		setHeaderLabel(const QString& left, const QString& right);

	// if the right item appeared in leftItms, 
	// then the corresponding left item will be removed for uniqueness.
	void		setItems(const QStringList& leftItms, const QStringList& rightItms);

	// retrive result.
	const QStringList&	getLeftItems() { return mLeftItems; }
	const QStringList&	getRigthItems() { return mRightItems; }

public slots:
	void		onSelectButtonClicked();
	void		onUnselectButtonClicked();

protected:
	Ui::DualColumnList	ui;
	QStringList		mLeftItems;
	QStringList		mRightItems;
	NoFocusDelegate	mItemDelegate;
};


#endif